home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / rjs.lha / RJS / String / src / op_minusequal.C < prev    next >
C/C++ Source or Header  |  1991-06-14  |  801b  |  49 lines

  1. #include "String.h"
  2.  
  3. RJS_String &RJS_String::operator-=(int i)
  4.   right(i)=""; 
  5.   return *this;
  6. }
  7.  
  8. RJS_String &RJS_String::operator-=(char ch)
  9. {
  10.   if (right(1)==ch) right(1)="";
  11.   return *this;
  12. }
  13.  
  14. RJS_String &RJS_String::operator-=(const char *s)
  15. {
  16. int len=RJS_String::length(s);
  17.  
  18.   if (right(len)==s) right(len)="";
  19.   return *this;
  20.  
  21. }
  22.  
  23. RJS_String &RJS_String::operator-=(const RJS_String &s)
  24. {
  25.   if (right(s.length())==s) right(s.length())="";
  26.   return *this;
  27. }
  28.  
  29. RJS_String &RJS_String::operator-=(const RJS_StringSearch &ss)
  30. {
  31. int ss_pos,ss_len;
  32. int pos=length()-1;
  33.  
  34.   substr(pos).match(ss,ss_pos,ss_len);
  35.   while (pos>=0 && ss_pos==0 && ss_len) {
  36.     pos--;
  37.     substr(pos).match(ss,ss_pos,ss_len);
  38.   }
  39.  
  40.   int matched_len=length()-1-pos;
  41.  
  42.   if (matched_len) right(matched_len)="";
  43.   return *this;
  44.  
  45. }
  46.  
  47.  
  48.